package com.flame.workflow.ru.controller.vo;


import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.flame.workflow.id.entity.WorkflowUser;
import com.flame.workflow.ru.entity.Task;
import com.flame.workflow.ru.entity.TaskComment;
import com.flame.workflow.ru.entity.UserTask;

import java.util.List;

/**
 * flame_workflow_ru_instance 流程实例表
 *
 * @author 吴欣童
 * @since 2023-06-05 14:27:43
 */
public class InstanceDetailVo {


    /**
     * 用户ID(账号)
     */
    private String userId;

    /**
     * 流程实例ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long instanceId;

    /**
     * 流程模型ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long modelId;

    /**
     * 流程版本
     */
    private Integer modelVersion;

    /**
     * 实例名称
     */
    private String instanceName;

    /**
     * 实例状态
     */
    private String instanceStatus;

    /**
     * 表单数据JSON
     */
    private String formData;

    /**
     * 开始时间
     */
    private String createTime;

    /**
     * 结束时间
     */
    private String endTime;

    private WorkflowUser userInfo;

    private List<Task> taskList;

    private List<UserTask> userTaskList;

    private List<TaskComment> taskCommentList;

    public String getUserId() {
        return userId;
    }

    public WorkflowUser getUserInfo() {
        return userInfo;
    }

    public void setUserInfo(WorkflowUser userInfo) {
        this.userInfo = userInfo;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public Long getInstanceId() {
        return instanceId;
    }

    public void setInstanceId(Long instanceId) {
        this.instanceId = instanceId;
    }

    public Long getModelId() {
        return modelId;
    }

    public void setModelId(Long modelId) {
        this.modelId = modelId;
    }

    public Integer getModelVersion() {
        return modelVersion;
    }

    public void setModelVersion(Integer modelVersion) {
        this.modelVersion = modelVersion;
    }

    public String getInstanceName() {
        return instanceName;
    }

    public void setInstanceName(String instanceName) {
        this.instanceName = instanceName;
    }

    public String getInstanceStatus() {
        return instanceStatus;
    }

    public void setInstanceStatus(String instanceStatus) {
        this.instanceStatus = instanceStatus;
    }

    public String getFormData() {
        return formData;
    }

    public void setFormData(String formData) {
        this.formData = formData;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public List<Task> getTaskList() {
        return taskList;
    }

    public void setTaskList(List<Task> taskList) {
        this.taskList = taskList;
    }

    public List<UserTask> getUserTaskList() {
        return userTaskList;
    }

    public void setUserTaskList(List<UserTask> userTaskList) {
        this.userTaskList = userTaskList;
    }

    public List<TaskComment> getTaskCommentList() {
        return taskCommentList;
    }

    public void setTaskCommentList(List<TaskComment> taskCommentList) {
        this.taskCommentList = taskCommentList;
    }
}